package org.admanager.acmeadmapping.plugin.diagram.providers;

import java.util.HashSet;
import java.util.IdentityHashMap;
import java.util.Map;
import java.util.Set;

import org.admanager.acmeadmanagement.plugin.acmeadmanagement.AcmeadmanagementPackage;
import org.admanager.acmeadmapping.plugin.diagram.edit.parts.AttachmentEditPart;
import org.admanager.acmeadmapping.plugin.diagram.edit.parts.BindingEditPart;
import org.admanager.acmeadmapping.plugin.diagram.edit.parts.CBAPatternEditPart;
import org.admanager.acmeadmapping.plugin.diagram.edit.parts.ComponentEditPart;
import org.admanager.acmeadmapping.plugin.diagram.edit.parts.ComponentMappingEditPart;
import org.admanager.acmeadmapping.plugin.diagram.edit.parts.ComponentMappingSourceEditPart;
import org.admanager.acmeadmapping.plugin.diagram.edit.parts.ComponentMappingTargetEditPart;
import org.admanager.acmeadmapping.plugin.diagram.edit.parts.ComponentPortMappingEditPart;
import org.admanager.acmeadmapping.plugin.diagram.edit.parts.ComponentPortMappingSourceEditPart;
import org.admanager.acmeadmapping.plugin.diagram.edit.parts.ComponentPortMappingTargetEditPart;
import org.admanager.acmeadmapping.plugin.diagram.edit.parts.ConnectorEditPart;
import org.admanager.acmeadmapping.plugin.diagram.edit.parts.ConnectorMappingEditPart;
import org.admanager.acmeadmapping.plugin.diagram.edit.parts.ConnectorMappingSourceEditPart;
import org.admanager.acmeadmapping.plugin.diagram.edit.parts.ConnectorMappingTargetEditPart;
import org.admanager.acmeadmapping.plugin.diagram.edit.parts.ConnectorRoleMappingEditPart;
import org.admanager.acmeadmapping.plugin.diagram.edit.parts.ConnectorRoleMappingSourceEditPart;
import org.admanager.acmeadmapping.plugin.diagram.edit.parts.ConnectorRoleMappingTargetEditPart;
import org.admanager.acmeadmapping.plugin.diagram.edit.parts.MappingRootEditPart;
import org.admanager.acmeadmapping.plugin.diagram.edit.parts.PComponent2EditPart;
import org.admanager.acmeadmapping.plugin.diagram.edit.parts.PComponentEditPart;
import org.admanager.acmeadmapping.plugin.diagram.edit.parts.PComponentPort2EditPart;
import org.admanager.acmeadmapping.plugin.diagram.edit.parts.PComponentPortEditPart;
import org.admanager.acmeadmapping.plugin.diagram.edit.parts.PConnector2EditPart;
import org.admanager.acmeadmapping.plugin.diagram.edit.parts.PConnectorEditPart;
import org.admanager.acmeadmapping.plugin.diagram.edit.parts.PConnectorRole2EditPart;
import org.admanager.acmeadmapping.plugin.diagram.edit.parts.PConnectorRoleEditPart;
import org.admanager.acmeadmapping.plugin.diagram.edit.parts.PConstraintEditPart;
import org.admanager.acmeadmapping.plugin.diagram.edit.parts.PMultiplicityEditPart;
import org.admanager.acmeadmapping.plugin.diagram.edit.parts.PRoleEditPart;
import org.admanager.acmeadmapping.plugin.diagram.edit.parts.PortEditPart;
import org.admanager.acmeadmapping.plugin.diagram.edit.parts.RepresentationEditPart;
import org.admanager.acmeadmapping.plugin.diagram.edit.parts.RoleEditPart;
import org.admanager.acmeadmapping.plugin.diagram.edit.parts.System2EditPart;
import org.admanager.acmeadmapping.plugin.diagram.edit.parts.SystemEditPart;
import org.admanager.acmeadmapping.plugin.diagram.part.AcmeADManagementMetamodelDiagramEditorPlugin;
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EClassifier;
import org.eclipse.emf.ecore.ENamedElement;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
import org.eclipse.gmf.runtime.emf.type.core.IElementType;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.resource.ImageRegistry;
import org.eclipse.swt.graphics.Image;

/**
 * @generated
 */
public class AcmeADManagementMetamodelElementTypes {

	/**
	 * @generated
	 */
	private AcmeADManagementMetamodelElementTypes() {
	}

	/**
	 * @generated
	 */
	private static Map/*[org.eclipse.gmf.runtime.emf.type.core.IElementType, org.eclipse.emf.ecore.ENamedElement]*/elements;

	/**
	 * @generated
	 */
	private static ImageRegistry imageRegistry;

	/**
	 * @generated
	 */
	private static Set/*[org.eclipse.gmf.runtime.emf.type.core.IElementType]*/KNOWN_ELEMENT_TYPES;

	/**
	 * @generated
	 */
	public static final IElementType MappingRoot_1000 = getElementType("org.admanager.acmeadmapping.plugin.diagram.MappingRoot_1000"); //$NON-NLS-1$
	/**
	 * @generated
	 */
	public static final IElementType ComponentPortMapping_2024 = getElementType("org.admanager.acmeadmapping.plugin.diagram.ComponentPortMapping_2024"); //$NON-NLS-1$
	/**
	 * @generated
	 */
	public static final IElementType ConnectorRoleMapping_2025 = getElementType("org.admanager.acmeadmapping.plugin.diagram.ConnectorRoleMapping_2025"); //$NON-NLS-1$
	/**
	 * @generated
	 */
	public static final IElementType ConnectorMapping_2026 = getElementType("org.admanager.acmeadmapping.plugin.diagram.ConnectorMapping_2026"); //$NON-NLS-1$
	/**
	 * @generated
	 */
	public static final IElementType ComponentMapping_2027 = getElementType("org.admanager.acmeadmapping.plugin.diagram.ComponentMapping_2027"); //$NON-NLS-1$
	/**
	 * @generated
	 */
	public static final IElementType CBAPattern_2028 = getElementType("org.admanager.acmeadmapping.plugin.diagram.CBAPattern_2028"); //$NON-NLS-1$
	/**
	 * @generated
	 */
	public static final IElementType System_2029 = getElementType("org.admanager.acmeadmapping.plugin.diagram.System_2029"); //$NON-NLS-1$
	/**
	 * @generated
	 */
	public static final IElementType PMultiplicity_3020 = getElementType("org.admanager.acmeadmapping.plugin.diagram.PMultiplicity_3020"); //$NON-NLS-1$
	/**
	 * @generated
	 */
	public static final IElementType PRole_3021 = getElementType("org.admanager.acmeadmapping.plugin.diagram.PRole_3021"); //$NON-NLS-1$
	/**
	 * @generated
	 */
	public static final IElementType PConstraint_3022 = getElementType("org.admanager.acmeadmapping.plugin.diagram.PConstraint_3022"); //$NON-NLS-1$
	/**
	 * @generated
	 */
	public static final IElementType PComponentPort_3023 = getElementType("org.admanager.acmeadmapping.plugin.diagram.PComponentPort_3023"); //$NON-NLS-1$
	/**
	 * @generated
	 */
	public static final IElementType PConnectorRole_3024 = getElementType("org.admanager.acmeadmapping.plugin.diagram.PConnectorRole_3024"); //$NON-NLS-1$
	/**
	 * @generated
	 */
	public static final IElementType PComponent_3025 = getElementType("org.admanager.acmeadmapping.plugin.diagram.PComponent_3025"); //$NON-NLS-1$
	/**
	 * @generated
	 */
	public static final IElementType PComponent_3026 = getElementType("org.admanager.acmeadmapping.plugin.diagram.PComponent_3026"); //$NON-NLS-1$
	/**
	 * @generated
	 */
	public static final IElementType PComponentPort_3027 = getElementType("org.admanager.acmeadmapping.plugin.diagram.PComponentPort_3027"); //$NON-NLS-1$
	/**
	 * @generated
	 */
	public static final IElementType PConnector_3028 = getElementType("org.admanager.acmeadmapping.plugin.diagram.PConnector_3028"); //$NON-NLS-1$
	/**
	 * @generated
	 */
	public static final IElementType PConnectorRole_3029 = getElementType("org.admanager.acmeadmapping.plugin.diagram.PConnectorRole_3029"); //$NON-NLS-1$
	/**
	 * @generated
	 */
	public static final IElementType PConnector_3030 = getElementType("org.admanager.acmeadmapping.plugin.diagram.PConnector_3030"); //$NON-NLS-1$
	/**
	 * @generated
	 */
	public static final IElementType Component_3031 = getElementType("org.admanager.acmeadmapping.plugin.diagram.Component_3031"); //$NON-NLS-1$
	/**
	 * @generated
	 */
	public static final IElementType Port_3032 = getElementType("org.admanager.acmeadmapping.plugin.diagram.Port_3032"); //$NON-NLS-1$
	/**
	 * @generated
	 */
	public static final IElementType Representation_3033 = getElementType("org.admanager.acmeadmapping.plugin.diagram.Representation_3033"); //$NON-NLS-1$
	/**
	 * @generated
	 */
	public static final IElementType System_3034 = getElementType("org.admanager.acmeadmapping.plugin.diagram.System_3034"); //$NON-NLS-1$
	/**
	 * @generated
	 */
	public static final IElementType Connector_3035 = getElementType("org.admanager.acmeadmapping.plugin.diagram.Connector_3035"); //$NON-NLS-1$
	/**
	 * @generated
	 */
	public static final IElementType Role_3036 = getElementType("org.admanager.acmeadmapping.plugin.diagram.Role_3036"); //$NON-NLS-1$
	/**
	 * @generated
	 */
	public static final IElementType ConnectorMappingTarget_4033 = getElementType("org.admanager.acmeadmapping.plugin.diagram.ConnectorMappingTarget_4033"); //$NON-NLS-1$
	/**
	 * @generated
	 */
	public static final IElementType ConnectorMappingSource_4034 = getElementType("org.admanager.acmeadmapping.plugin.diagram.ConnectorMappingSource_4034"); //$NON-NLS-1$
	/**
	 * @generated
	 */
	public static final IElementType ConnectorRoleMappingSource_4035 = getElementType("org.admanager.acmeadmapping.plugin.diagram.ConnectorRoleMappingSource_4035"); //$NON-NLS-1$
	/**
	 * @generated
	 */
	public static final IElementType ComponentMappingSource_4036 = getElementType("org.admanager.acmeadmapping.plugin.diagram.ComponentMappingSource_4036"); //$NON-NLS-1$
	/**
	 * @generated
	 */
	public static final IElementType ComponentPortMappingSource_4037 = getElementType("org.admanager.acmeadmapping.plugin.diagram.ComponentPortMappingSource_4037"); //$NON-NLS-1$
	/**
	 * @generated
	 */
	public static final IElementType ComponentMappingTarget_4038 = getElementType("org.admanager.acmeadmapping.plugin.diagram.ComponentMappingTarget_4038"); //$NON-NLS-1$
	/**
	 * @generated
	 */
	public static final IElementType ComponentPortMappingTarget_4039 = getElementType("org.admanager.acmeadmapping.plugin.diagram.ComponentPortMappingTarget_4039"); //$NON-NLS-1$
	/**
	 * @generated
	 */
	public static final IElementType ConnectorRoleMappingTarget_4040 = getElementType("org.admanager.acmeadmapping.plugin.diagram.ConnectorRoleMappingTarget_4040"); //$NON-NLS-1$
	/**
	 * @generated
	 */
	public static final IElementType Attachment_4041 = getElementType("org.admanager.acmeadmapping.plugin.diagram.Attachment_4041"); //$NON-NLS-1$
	/**
	 * @generated
	 */
	public static final IElementType Binding_4042 = getElementType("org.admanager.acmeadmapping.plugin.diagram.Binding_4042"); //$NON-NLS-1$

	/**
	 * @generated
	 */
	private static ImageRegistry getImageRegistry() {
		if (imageRegistry == null) {
			imageRegistry = new ImageRegistry();
		}
		return imageRegistry;
	}

	/**
	 * @generated
	 */
	private static String getImageRegistryKey(ENamedElement element) {
		return element.getName();
	}

	/**
	 * @generated
	 */
	private static ImageDescriptor getProvidedImageDescriptor(
			ENamedElement element) {
		if (element instanceof EStructuralFeature) {
			EStructuralFeature feature = ((EStructuralFeature) element);
			EClass eContainingClass = feature.getEContainingClass();
			EClassifier eType = feature.getEType();
			if (eContainingClass != null && !eContainingClass.isAbstract()) {
				element = eContainingClass;
			} else if (eType instanceof EClass
					&& !((EClass) eType).isAbstract()) {
				element = eType;
			}
		}
		if (element instanceof EClass) {
			EClass eClass = (EClass) element;
			if (!eClass.isAbstract()) {
				return AcmeADManagementMetamodelDiagramEditorPlugin
						.getInstance().getItemImageDescriptor(
								eClass.getEPackage().getEFactoryInstance()
										.create(eClass));
			}
		}
		// TODO : support structural features
		return null;
	}

	/**
	 * @generated
	 */
	public static ImageDescriptor getImageDescriptor(ENamedElement element) {
		String key = getImageRegistryKey(element);
		ImageDescriptor imageDescriptor = getImageRegistry().getDescriptor(key);
		if (imageDescriptor == null) {
			imageDescriptor = getProvidedImageDescriptor(element);
			if (imageDescriptor == null) {
				imageDescriptor = ImageDescriptor.getMissingImageDescriptor();
			}
			getImageRegistry().put(key, imageDescriptor);
		}
		return imageDescriptor;
	}

	/**
	 * @generated
	 */
	public static Image getImage(ENamedElement element) {
		String key = getImageRegistryKey(element);
		Image image = getImageRegistry().get(key);
		if (image == null) {
			ImageDescriptor imageDescriptor = getProvidedImageDescriptor(element);
			if (imageDescriptor == null) {
				imageDescriptor = ImageDescriptor.getMissingImageDescriptor();
			}
			getImageRegistry().put(key, imageDescriptor);
			image = getImageRegistry().get(key);
		}
		return image;
	}

	/**
	 * @generated
	 */
	public static ImageDescriptor getImageDescriptor(IAdaptable hint) {
		ENamedElement element = getElement(hint);
		if (element == null) {
			return null;
		}
		return getImageDescriptor(element);
	}

	/**
	 * @generated
	 */
	public static Image getImage(IAdaptable hint) {
		ENamedElement element = getElement(hint);
		if (element == null) {
			return null;
		}
		return getImage(element);
	}

	/**
	 * Returns 'type' of the ecore object associated with the hint.
	 * 
	 * @generated
	 */
	public static ENamedElement getElement(IAdaptable hint) {
		Object type = hint.getAdapter(IElementType.class);
		if (elements == null) {
			elements = new IdentityHashMap/*[org.eclipse.gmf.runtime.emf.type.core.IElementType, org.eclipse.emf.ecore.ENamedElement]*/();

			elements.put(MappingRoot_1000,
					AcmeadmanagementPackage.eINSTANCE.getMappingRoot());

			elements.put(ComponentPortMapping_2024,
					AcmeadmanagementPackage.eINSTANCE.getComponentPortMapping());

			elements.put(ConnectorRoleMapping_2025,
					AcmeadmanagementPackage.eINSTANCE.getConnectorRoleMapping());

			elements.put(ConnectorMapping_2026,
					AcmeadmanagementPackage.eINSTANCE.getConnectorMapping());

			elements.put(ComponentMapping_2027,
					AcmeadmanagementPackage.eINSTANCE.getComponentMapping());

			elements.put(CBAPattern_2028,
					AcmeadmanagementPackage.eINSTANCE.getCBAPattern());

			elements.put(System_2029,
					AcmeadmanagementPackage.eINSTANCE.getSystem());

			elements.put(PMultiplicity_3020,
					AcmeadmanagementPackage.eINSTANCE.getPMultiplicity());

			elements.put(PRole_3021,
					AcmeadmanagementPackage.eINSTANCE.getPRole());

			elements.put(PConstraint_3022,
					AcmeadmanagementPackage.eINSTANCE.getPConstraint());

			elements.put(PComponentPort_3023,
					AcmeadmanagementPackage.eINSTANCE.getPComponentPort());

			elements.put(PConnectorRole_3024,
					AcmeadmanagementPackage.eINSTANCE.getPConnectorRole());

			elements.put(PComponent_3025,
					AcmeadmanagementPackage.eINSTANCE.getPComponent());

			elements.put(PComponent_3026,
					AcmeadmanagementPackage.eINSTANCE.getPComponent());

			elements.put(PComponentPort_3027,
					AcmeadmanagementPackage.eINSTANCE.getPComponentPort());

			elements.put(PConnector_3028,
					AcmeadmanagementPackage.eINSTANCE.getPConnector());

			elements.put(PConnectorRole_3029,
					AcmeadmanagementPackage.eINSTANCE.getPConnectorRole());

			elements.put(PConnector_3030,
					AcmeadmanagementPackage.eINSTANCE.getPConnector());

			elements.put(Component_3031,
					AcmeadmanagementPackage.eINSTANCE.getComponent());

			elements.put(Port_3032, AcmeadmanagementPackage.eINSTANCE.getPort());

			elements.put(Representation_3033,
					AcmeadmanagementPackage.eINSTANCE.getRepresentation());

			elements.put(System_3034,
					AcmeadmanagementPackage.eINSTANCE.getSystem());

			elements.put(Connector_3035,
					AcmeadmanagementPackage.eINSTANCE.getConnector());

			elements.put(Role_3036, AcmeadmanagementPackage.eINSTANCE.getRole());

			elements.put(ConnectorMappingTarget_4033,
					AcmeadmanagementPackage.eINSTANCE
							.getConnectorMapping_Target());

			elements.put(ConnectorMappingSource_4034,
					AcmeadmanagementPackage.eINSTANCE
							.getConnectorMapping_Source());

			elements.put(ConnectorRoleMappingSource_4035,
					AcmeadmanagementPackage.eINSTANCE
							.getConnectorRoleMapping_Source());

			elements.put(ComponentMappingSource_4036,
					AcmeadmanagementPackage.eINSTANCE
							.getComponentMapping_Source());

			elements.put(ComponentPortMappingSource_4037,
					AcmeadmanagementPackage.eINSTANCE
							.getComponentPortMapping_Source());

			elements.put(ComponentMappingTarget_4038,
					AcmeadmanagementPackage.eINSTANCE
							.getComponentMapping_Target());

			elements.put(ComponentPortMappingTarget_4039,
					AcmeadmanagementPackage.eINSTANCE
							.getComponentPortMapping_Target());

			elements.put(ConnectorRoleMappingTarget_4040,
					AcmeadmanagementPackage.eINSTANCE
							.getConnectorRoleMapping_Target());

			elements.put(Attachment_4041,
					AcmeadmanagementPackage.eINSTANCE.getAttachment());

			elements.put(Binding_4042,
					AcmeadmanagementPackage.eINSTANCE.getBinding());
		}
		return (ENamedElement) elements.get(type);
	}

	/**
	 * @generated
	 */
	private static IElementType getElementType(String id) {
		return ElementTypeRegistry.getInstance().getType(id);
	}

	/**
	 * @generated
	 */
	public static boolean isKnownElementType(IElementType elementType) {
		if (KNOWN_ELEMENT_TYPES == null) {
			KNOWN_ELEMENT_TYPES = new HashSet/*[org.eclipse.gmf.runtime.emf.type.core.IElementType]*/();
			KNOWN_ELEMENT_TYPES.add(MappingRoot_1000);
			KNOWN_ELEMENT_TYPES.add(ComponentPortMapping_2024);
			KNOWN_ELEMENT_TYPES.add(ConnectorRoleMapping_2025);
			KNOWN_ELEMENT_TYPES.add(ConnectorMapping_2026);
			KNOWN_ELEMENT_TYPES.add(ComponentMapping_2027);
			KNOWN_ELEMENT_TYPES.add(CBAPattern_2028);
			KNOWN_ELEMENT_TYPES.add(System_2029);
			KNOWN_ELEMENT_TYPES.add(PMultiplicity_3020);
			KNOWN_ELEMENT_TYPES.add(PRole_3021);
			KNOWN_ELEMENT_TYPES.add(PConstraint_3022);
			KNOWN_ELEMENT_TYPES.add(PComponentPort_3023);
			KNOWN_ELEMENT_TYPES.add(PConnectorRole_3024);
			KNOWN_ELEMENT_TYPES.add(PComponent_3025);
			KNOWN_ELEMENT_TYPES.add(PComponent_3026);
			KNOWN_ELEMENT_TYPES.add(PComponentPort_3027);
			KNOWN_ELEMENT_TYPES.add(PConnector_3028);
			KNOWN_ELEMENT_TYPES.add(PConnectorRole_3029);
			KNOWN_ELEMENT_TYPES.add(PConnector_3030);
			KNOWN_ELEMENT_TYPES.add(Component_3031);
			KNOWN_ELEMENT_TYPES.add(Port_3032);
			KNOWN_ELEMENT_TYPES.add(Representation_3033);
			KNOWN_ELEMENT_TYPES.add(System_3034);
			KNOWN_ELEMENT_TYPES.add(Connector_3035);
			KNOWN_ELEMENT_TYPES.add(Role_3036);
			KNOWN_ELEMENT_TYPES.add(ConnectorMappingTarget_4033);
			KNOWN_ELEMENT_TYPES.add(ConnectorMappingSource_4034);
			KNOWN_ELEMENT_TYPES.add(ConnectorRoleMappingSource_4035);
			KNOWN_ELEMENT_TYPES.add(ComponentMappingSource_4036);
			KNOWN_ELEMENT_TYPES.add(ComponentPortMappingSource_4037);
			KNOWN_ELEMENT_TYPES.add(ComponentMappingTarget_4038);
			KNOWN_ELEMENT_TYPES.add(ComponentPortMappingTarget_4039);
			KNOWN_ELEMENT_TYPES.add(ConnectorRoleMappingTarget_4040);
			KNOWN_ELEMENT_TYPES.add(Attachment_4041);
			KNOWN_ELEMENT_TYPES.add(Binding_4042);
		}
		return KNOWN_ELEMENT_TYPES.contains(elementType);
	}

	/**
	 * @generated
	 */
	public static IElementType getElementType(int visualID) {
		switch (visualID) {
		case MappingRootEditPart.VISUAL_ID:
			return MappingRoot_1000;
		case ComponentPortMappingEditPart.VISUAL_ID:
			return ComponentPortMapping_2024;
		case ConnectorRoleMappingEditPart.VISUAL_ID:
			return ConnectorRoleMapping_2025;
		case ConnectorMappingEditPart.VISUAL_ID:
			return ConnectorMapping_2026;
		case ComponentMappingEditPart.VISUAL_ID:
			return ComponentMapping_2027;
		case CBAPatternEditPart.VISUAL_ID:
			return CBAPattern_2028;
		case SystemEditPart.VISUAL_ID:
			return System_2029;
		case PMultiplicityEditPart.VISUAL_ID:
			return PMultiplicity_3020;
		case PRoleEditPart.VISUAL_ID:
			return PRole_3021;
		case PConstraintEditPart.VISUAL_ID:
			return PConstraint_3022;
		case PComponentPortEditPart.VISUAL_ID:
			return PComponentPort_3023;
		case PConnectorRoleEditPart.VISUAL_ID:
			return PConnectorRole_3024;
		case PComponentEditPart.VISUAL_ID:
			return PComponent_3025;
		case PComponent2EditPart.VISUAL_ID:
			return PComponent_3026;
		case PComponentPort2EditPart.VISUAL_ID:
			return PComponentPort_3027;
		case PConnectorEditPart.VISUAL_ID:
			return PConnector_3028;
		case PConnectorRole2EditPart.VISUAL_ID:
			return PConnectorRole_3029;
		case PConnector2EditPart.VISUAL_ID:
			return PConnector_3030;
		case ComponentEditPart.VISUAL_ID:
			return Component_3031;
		case PortEditPart.VISUAL_ID:
			return Port_3032;
		case RepresentationEditPart.VISUAL_ID:
			return Representation_3033;
		case System2EditPart.VISUAL_ID:
			return System_3034;
		case ConnectorEditPart.VISUAL_ID:
			return Connector_3035;
		case RoleEditPart.VISUAL_ID:
			return Role_3036;
		case ConnectorMappingTargetEditPart.VISUAL_ID:
			return ConnectorMappingTarget_4033;
		case ConnectorMappingSourceEditPart.VISUAL_ID:
			return ConnectorMappingSource_4034;
		case ConnectorRoleMappingSourceEditPart.VISUAL_ID:
			return ConnectorRoleMappingSource_4035;
		case ComponentMappingSourceEditPart.VISUAL_ID:
			return ComponentMappingSource_4036;
		case ComponentPortMappingSourceEditPart.VISUAL_ID:
			return ComponentPortMappingSource_4037;
		case ComponentMappingTargetEditPart.VISUAL_ID:
			return ComponentMappingTarget_4038;
		case ComponentPortMappingTargetEditPart.VISUAL_ID:
			return ComponentPortMappingTarget_4039;
		case ConnectorRoleMappingTargetEditPart.VISUAL_ID:
			return ConnectorRoleMappingTarget_4040;
		case AttachmentEditPart.VISUAL_ID:
			return Attachment_4041;
		case BindingEditPart.VISUAL_ID:
			return Binding_4042;
		}
		return null;
	}

}
